1. Field of the Invention
The present invention is directed to technology for defining workflows.
2. Description of the Related Art
With the growth of the Internet, the use of networks and other information technologies, Identity Systems have become more popular. In general, an Identity System provides for the creation, removal, editing and other managing of identity information stored in various types of data stores. The identity information pertains to users, groups, organizations and/or things. For each entry in the data store, a set of attributes is stored. For example, the attributes stored for a user may include a name, address, employee number, telephone number, email address, user ID and password. The Identity System can also manage access privileges that govern what an entity can view, create, modify or use in the Identity System. Often, this management of access privileges is based on one or more specific attributes, membership in a group and/or association with an organization.
Many organizations require pre-defined business methods in order to carry out various tasks. For example, to add a new user to the Identity System, a business method may require the telecommunications group to provide a telephone number, the Information Technology Group to provide an email address, the Human Resources Group to provide personal data, and, finally, approval from a manager. To implement such business methods with an Identity System, workflows have been implemented. In general, a workflow is a process that is implemented by the Identity System (or other system) and automates the business methods.
Some previous Identity System is designed to include a set of pre-defined workflows that can be used to for management of various aspects of the Identity System. One drawback of these pre-defined workflows is that they require the business entity to use the business method implemented by the workflow, rather than the business method desired by that entity. This is a problem because work flow procedures and processes change from organization to organization. There is no one fixed procedure that satisfies all organizations. Organizations want a workflow definition processes that are flexible enough to support the various customization required by the different organizations.
In response, some Identity System allows an administrator to write a script in a computer source code like language that defines the workflow. One drawback of such a system that uses scripts to create workflow is that in order for an administrator to create a workflow, that administrator must understand how to program using the script language. Since these scripts can be very complicated, many administrators are unable to write the scripts and, therefore, cannot create custom workflows that implement their organization's custom business practices.